- Getting started
- Data model
- CRUD operations
- Examples
- space_object:auto_increment()
- space_object:bsize()
- space_object:count()
- space_object:create_index()
- space_object:delete()
- space_object:drop()
- space_object:format()
- space_object:frommap()
- space_object:get()
- space_object:insert()
- space_object:len()
- space_object:on_replace()
- space_object:before_replace()
- space_object:pairs()
- space_object:put()
- space_object:rename()
- space_object:replace() / put()
- space_object:run_triggers()
- space_object:select()
- space_object:truncate()
- space_object:update()
- space_object:upsert()
- space_object:user_defined()
- space_object:enabled
- space_object:field_count
- space_object:id
- space_object:index
- box.space._cluster
- box.space._func
- box.space._index
- box.space._vindex
- box.space._priv
- box.space._vpriv
- box.space._schema
- box.space._sequence
- box.space._sequence_data
- box.space._space
- box.space._vspace
- box.space._user
- box.space._vuser
- Indexes
- Transactions
- Access control
- Triggers
- Sharding
- Cluster on Cartridge
- Overview
- Developer’s guide
- Introduction
- Installing Tarantool Cartridge
- Creating a project
- Cluster roles
- Using the built-in HTTP server
- Implementing authorization in the web interface
- Application versioning
- Using .cartridge.ignore files
- Failover architecture
- Configuring instances
- Deploying an application
- Starting/stopping instances
- Error handling guidelines
- Cluster instance lifecycle
- Administrator’s guide
- Troubleshooting
- Problems with replica
- Editing clusterwide configuration in WebUI returns an error
- An instance is stuck in the ConnectingFullmesh state upon restart
- I want to run an instance with a new advertise_uri
- The cluster is doomed, I’ve edited the config manually. How do I reload it?
- Repairing cluster using Cartridge CLI repair command
- Cartridge API
- Module cartridge
- Module cartridge.auth
- Module cartridge.roles
- Module cartridge.issues
- Module cartridge.argparse
- Module cartridge.twophase
- Module cartridge.failover
- Functions
- Local Functions
- schedule_clear ()
- schedule_add ()
- _get_appointments_disabled_mode ()
- _get_appointments_eventual_mode ()
- _get_appointments_stateful_mode ()
- accept_appointments (replicaset_uuid)
- fencing_check ()
- check_suppressing_lock ()
- failover_loop ()
- cfg ()
- get_active_leaders ()
- is_leader ()
- is_rw ()
- is_vclockkeeper ()
- is_paused ()
- failover_suppressed ()
- consistency_needed ()
- force_inconsistency (replicaset_uuid)
- wait_consistency (replicaset_uuid)
- Module cartridge.topology
- Module cartridge.clusterwide-config
- Module cartridge.rpc
- Module cartridge.tar
- Module cartridge.pool
- Module cartridge.upload
- Module cartridge.confapplier
- Module cartridge.test-helpers
- Module cartridge.remote-control
- Module cartridge.service-registry
- Module custom-role
- Module cartridge.lua-api.stat
- Module cartridge.lua-api.boxinfo
- Module cartridge.lua-api.get-topology
- Module cartridge.lua-api.edit-topology
- Module cartridge.lua-api.topology
- Module cartridge.lua-api.failover
- Module cartridge.lua-api.vshard
- Module cartridge.lua-api.deprecated
- Class cartridge.test-helpers.cluster
- Functions
- Cluster:new (object)
- Cluster:server (alias)
- Cluster:server_by_role (role_name)
- Cluster:servers_by_role (role_name)
- Cluster:apply_topology ()
- Cluster:start ()
- Cluster:stop ()
- Cluster:join_server (server)
- Cluster:wait_until_healthy (server)
- Cluster:upload_config (config, opts)
- Cluster:download_config ()
- Cluster:retrying (config, fn[, …])
- Tables
- Local Functions
- Functions
- Class cartridge.test-helpers.server
- Class cartridge.test-helpers.etcd
- Class cartridge.test-helpers.stateboard
- Cartridge CLI
- Cartridge Kubernetes guide
- Changelog
- [Unreleased]
- [2.7.5] - 2021-06-28
- [2.7.4] - 2021-04-11
- [2.7.3] - 2021-10-27
- [2.7.2] - 2021-10-08
- [2.7.1] - 2021-08-18
- [2.7.0] - 2021-08-10
- [2.6.0] - 2021-04-26
- [2.5.1] - 2021-03-24
- [2.5.0] - 2021-03-05
- [2.4.0] - 2020-12-29
- [2.3.0] - 2020-08-26
- [2.2.0] - 2020-06-23
- [2.1.2] - 2020-04-24
- [2.1.1] - 2020-04-20
- [2.1.0] - 2020-04-16
- [2.0.2] - 2020-03-17
- [2.0.1] - 2020-01-15
- [2.0.0] - 2019-12-27
- [1.2.0] - 2019-10-21
- [1.1.0] - 2019-09-24
- [1.0.0] - 2019-08-29
- [0.10.0] - 2019-08-01
- [0.9.2] - 2019-07-12
- [0.9.1] - 2019-07-10
- [0.9.0] - 2019-07-02
- [0.8.0] - 2019-05-20
- [0.7.0] - 2019-04-05
- [0.6.3] - 2019-02-08
- [0.6.2] - 2019-02-07
- [0.6.1] - 2019-02-05
- [0.6.0] - 2019-01-30
- [0.5.1] - 2018-12-12
- [0.5.0] - 2018-12-11
- [0.4.0] - 2018-11-27
- [0.3] - 2018-10-30
- [0.2] - 2018-10-01
- [0.1] - 2018-09-25
- Application server
- Launching an application
- Creating an application
- Installing a module
- Contributing a module
- Reloading a module
- Developing with an IDE
- Cookbook recipes
- hello_world.lua
- console_start.lua
- fio_read.lua
- fio_write.lua
- ffi_printf.lua
- ffi_gettimeofday.lua
- ffi_zlib.lua
- ffi_meta.lua
- print_arrays.lua
- count_array.lua
- count_array_with_nils.lua
- count_array_with_nulls.lua
- count_map.lua
- swap.lua
- class.lua
- garbage.lua
- fiber_producer_and_consumer.lua
- socket_tcpconnect.lua
- socket_tcp_echo.lua
- getaddrinfo.lua
- socket_udp_echo.lua
- http_get.lua
- http_send.lua
- http_server.lua
- http_generate_html.lua
- select_all.go
- Administration
- Instance configuration
- Starting/stopping an instance
- Logs
- Security
- Server introspection
- Daemon supervision
- Disaster recovery
- Backups
- Upgrades
- Notes for operating systems
- Bug reports
- Troubleshooting guide
- Problem: INSERT/UPDATE-requests result in ER_MEMORY_ISSUE error
- Problem: Tarantool generates too heavy CPU load
- Problem: Query processing times out
- Problem: Replication “lag” and “idle” contain negative values
- Problem: Replication “idle” keeps growing, but no related log messages appear
- Problem: Replication statistics differ on replicas within a replica set
- Problem: Master-master replication is stopped
- Problem: Tarantool works much slower than before
- Problem: Fiber switch is forbidden in
__gcmetamethod
- Replication
- Storage engines
- Connectors
- Reference
- Built-in modules reference
- Module
box- Submodule
box.stat - Submodule
box.cfg - Submodule box.backup
- Submodule
box.ctl - Submodule
box.error - Submodule
box.index- Examples for
box.index - index_object:unique
- index_object:type
- index_object:parts()
- index_object:pairs()
- index_object:select()
- index_object:get()
- index_object:min()
- index_object:max()
- index_object:random()
- index_object:count()
- index_object:update()
- index_object:delete()
- index_object:alter()
- index_object:drop()
- index_object:rename()
- index_object:bsize()
- index_object:stat()
- index_object:compact()
- index_object:user_defined()
- Examples for
- Submodule
box.info - Submodule
box.schema- box.schema.space.create() / schema_object:create_space()
- box.schema.upgrade()
- box.schema.user.create()
- box.schema.user.drop()
- box.schema.user.exists()
- box.schema.user.grant()
- box.schema.user.revoke()
- box.schema.user.password()
- box.schema.user.passwd()
- box.schema.user.info()
- box.schema.role.create()
- box.schema.role.drop()
- box.schema.role.exists()
- box.schema.role.grant()
- box.schema.role.revoke()
- box.schema.role.info()
- box.schema.func.create()
- box.schema.func.drop()
- box.schema.func.exists()
- box.schema.func.reload()
- Sequences
- Submodule
box.session- box.session.id()
- box.session.exists()
- box.session.peer()
- box.session.sync()
- box.session.user()
- box.session.type()
- box.session.su()
- box.session.uid()
- box.session.euid()
- box.session.storage
- box.session.on_connect()
- box.session.on_disconnect()
- box.session.on_auth()
- box.session.on_access_denied()
- box.session.push()
- Submodule
box.slab - Submodule
box.space- Examples
- space_object:auto_increment()
- space_object:bsize()
- space_object:count()
- space_object:create_index()
- space_object:delete()
- space_object:drop()
- space_object:format()
- space_object:frommap()
- space_object:get()
- space_object:insert()
- space_object:len()
- space_object:on_replace()
- space_object:before_replace()
- space_object:pairs()
- space_object:put()
- space_object:rename()
- space_object:replace() / put()
- space_object:run_triggers()
- space_object:select()
- space_object:truncate()
- space_object:update()
- space_object:upsert()
- space_object:user_defined()
- space_object:enabled
- space_object:field_count
- space_object:id
- space_object:index
- box.space._cluster
- box.space._func
- box.space._index
- box.space._vindex
- box.space._priv
- box.space._vpriv
- box.space._schema
- box.space._sequence
- box.space._sequence_data
- box.space._space
- box.space._vspace
- box.space._user
- box.space._vuser
- Submodule
box.tuple- box.tuple.new()
- #tuple_object
- box.tuple.bsize()
- tuple_object[field-number]
- tuple_object[field-name]
- tuple_object[field-path]
- tuple_object:find(), tuple_object:findall()
- tuple_object:next()
- tuple_object:pairs(), tuple_object:ipairs()
- tuple_object:totable()
- tuple_object:tomap()
- tuple_object:transform()
- tuple_object:unpack()
- tuple_object:update()
- tuple_object:upsert()
- How to convert tuples to/from Lua tables
- Functions for transaction management
- Function
box.once - Function
box.snapshot - Constant
box.NULL
- Submodule
- Module
buffer - Module
clock - Module
console - Module
crypto - Module
csv - Module
digest - Module
errno - Module
fiber - Module
fio - Module
fun - Module
http - Module
iconv - Module
json - Module
log - Module
msgpack - Module
net.box - Module
os - Module
pickle - Module
socket - Module
strict - Module
string - Module
table - Module
tap - Module
tarantool - Module
uuid - Module
utf8 - Module
uri - Module
xlog - Module
yaml - Miscellaneous
- Database error codes
- Handling errors
- Debug facilities
- Module
- Rocks reference
- SQL DBMS Modules
- Module
expirationd - Module
membership - Module
vshard - Tarantool Cartridge
- Overview
- Developer’s guide
- Introduction
- Installing Tarantool Cartridge
- Creating a project
- Cluster roles
- Using the built-in HTTP server
- Implementing authorization in the web interface
- Application versioning
- Using .cartridge.ignore files
- Failover architecture
- Configuring instances
- Deploying an application
- Starting/stopping instances
- Error handling guidelines
- Cluster instance lifecycle
- Administrator’s guide
- Troubleshooting
- Problems with replica
- Editing clusterwide configuration in WebUI returns an error
- An instance is stuck in the ConnectingFullmesh state upon restart
- I want to run an instance with a new advertise_uri
- The cluster is doomed, I’ve edited the config manually. How do I reload it?
- Repairing cluster using Cartridge CLI repair command
- Cartridge API
- Module cartridge
- Module cartridge.auth
- Module cartridge.roles
- Module cartridge.issues
- Module cartridge.argparse
- Module cartridge.twophase
- Module cartridge.failover
- Functions
- Local Functions
- schedule_clear ()
- schedule_add ()
- _get_appointments_disabled_mode ()
- _get_appointments_eventual_mode ()
- _get_appointments_stateful_mode ()
- accept_appointments (replicaset_uuid)
- fencing_check ()
- check_suppressing_lock ()
- failover_loop ()
- cfg ()
- get_active_leaders ()
- is_leader ()
- is_rw ()
- is_vclockkeeper ()
- is_paused ()
- failover_suppressed ()
- consistency_needed ()
- force_inconsistency (replicaset_uuid)
- wait_consistency (replicaset_uuid)
- Module cartridge.topology
- Module cartridge.clusterwide-config
- Module cartridge.rpc
- Module cartridge.tar
- Module cartridge.pool
- Module cartridge.upload
- Module cartridge.confapplier
- Module cartridge.test-helpers
- Module cartridge.remote-control
- Module cartridge.service-registry
- Module custom-role
- Module cartridge.lua-api.stat
- Module cartridge.lua-api.boxinfo
- Module cartridge.lua-api.get-topology
- Module cartridge.lua-api.edit-topology
- Module cartridge.lua-api.topology
- Module cartridge.lua-api.failover
- Module cartridge.lua-api.vshard
- Module cartridge.lua-api.deprecated
- Class cartridge.test-helpers.cluster
- Functions
- Cluster:new (object)
- Cluster:server (alias)
- Cluster:server_by_role (role_name)
- Cluster:servers_by_role (role_name)
- Cluster:apply_topology ()
- Cluster:start ()
- Cluster:stop ()
- Cluster:join_server (server)
- Cluster:wait_until_healthy (server)
- Cluster:upload_config (config, opts)
- Cluster:download_config ()
- Cluster:retrying (config, fn[, …])
- Tables
- Local Functions
- Functions
- Class cartridge.test-helpers.server
- Class cartridge.test-helpers.etcd
- Class cartridge.test-helpers.stateboard
- Cartridge CLI
- Cartridge Kubernetes guide
- Changelog
- [Unreleased]
- [2.7.5] - 2021-06-28
- [2.7.4] - 2021-04-11
- [2.7.3] - 2021-10-27
- [2.7.2] - 2021-10-08
- [2.7.1] - 2021-08-18
- [2.7.0] - 2021-08-10
- [2.6.0] - 2021-04-26
- [2.5.1] - 2021-03-24
- [2.5.0] - 2021-03-05
- [2.4.0] - 2020-12-29
- [2.3.0] - 2020-08-26
- [2.2.0] - 2020-06-23
- [2.1.2] - 2020-04-24
- [2.1.1] - 2020-04-20
- [2.1.0] - 2020-04-16
- [2.0.2] - 2020-03-17
- [2.0.1] - 2020-01-15
- [2.0.0] - 2019-12-27
- [1.2.0] - 2019-10-21
- [1.1.0] - 2019-09-24
- [1.0.0] - 2019-08-29
- [0.10.0] - 2019-08-01
- [0.9.2] - 2019-07-12
- [0.9.1] - 2019-07-10
- [0.9.0] - 2019-07-02
- [0.8.0] - 2019-05-20
- [0.7.0] - 2019-04-05
- [0.6.3] - 2019-02-08
- [0.6.2] - 2019-02-07
- [0.6.1] - 2019-02-05
- [0.6.0] - 2019-01-30
- [0.5.1] - 2018-12-12
- [0.5.0] - 2018-12-11
- [0.4.0] - 2018-11-27
- [0.3] - 2018-10-30
- [0.2] - 2018-10-01
- [0.1] - 2018-09-25
- Luatest
- Configuration reference
- C API reference
- Internals
- Limitations
- Utility
tarantoolctl - Tips on Lua syntax
- Built-in modules reference
- Tutorials
- Lua tutorials
- Insert one million tuples with a Lua stored procedure
- Configure
- Delimiter
- Create a function that returns a string
- Create a function that calls another function and sets a variable
- Modify the function so it returns a one-letter random string
- Modify the function so it returns a ten-letter random string
- Make a tuple out of a number and a string
- Modify main_function to insert a tuple into the database
- Modify main_function to insert a million tuples into the database
- Sum a JSON field for all tuples
- Indexed pattern search
- Insert one million tuples with a Lua stored procedure
- C tutorial
libslavetutorial
- Lua tutorials
- Contributing
- How to be involved in Tarantool
- What is Tarantool?
- How to get help?
- How to leave feedback, ideas or suggestions?
- How to contribute?
- Tarantool Ecosystem
- You have a problem in documentation. How to tell about it and how to fix it?
- How to contribute to modules
- How to contribute to Tarantool Core
- How to write a test
- How to contribute to language connectors
- How to contribute to tools
- How to become a maintainer
- Build and contribute
- Guidelines
- Developer guidelines
- Documentation guidelines
- C Style Guide
- Tarantool coding style
- Chapter 1: Indentation
- Chapter 2: Breaking long lines and strings
- Chapter 3: Placing Braces and Spaces
- Chapter 4: Naming
- Chapter 5: Typedefs
- Chapter 6: Functions
- Chapter 7: Centralized exiting of functions
- Chapter 8: Commenting
- Chapter 9: Macros, Enums and RTL
- Chapter 10: Allocating memory
- Chapter 11: The inline disease
- Chapter 12: Function return values and names
- Chapter 13: Editor modelines and other cruft
- Chapter 14: Conditional Compilation
- Chapter 15: Header files
- Chapter 16: Other
- Appendix I: References
- Tarantool coding style
- Python Style Guide
- Lua Style Guide
- How to be involved in Tarantool
- Release notes